package com.hongdee.scm.outwarehouse.service;


import java.util.List;
import java.util.Map;

/**
 * Created by Mr. Xu on 2017/5/16.
 */

public interface ITScmOutWareHouseService {
    /**
     * 出库分页
     *
     * @param data
     * @param start
     * @param limit
     * @param uid
     * @return
     * @throws Exception
     */
    public Map page(Map data, String start, String limit, String uid) throws Exception;
    /**
     * 确定出库
     *
     * @param vin
     * @param type 0销售 1调拨
     * @throws Exception
     */
    public void updateOutStatus(String vin,String type) throws Exception;
    /**
     * 未出库车辆
     * @param type
     * @param uid
     * @return
     * @throws Exception
     */
    public List notOutWareHouse (String type, String uid)throws Exception;
    /**
     * 生成出库单
     * @param data
     * @param uid
     * @param type
     * @throws Exception
     */
    public void outWareHouse(Map data, String uid, String type) throws Exception;
    /**
     * 调拨保存修改
     *
     * @param data
     * @param uid
     * @return
     * @throws Exception
     */
    public void requisitionSaveOrUpdate(Map data, String uid) throws Exception;

    /**
     * 调拨出库分页
     *
     * @param data
     * @param start
     * @param limit
     * @param uid
     * @return
     * @throws Exception
     */
    public Map requisitionPage(Map data, String start, String limit, String uid) throws Exception;
    /**
     * 销售出库分页
     *
     * @param data
     * @param start
     * @param limit
     * @param uid
     * @return
     * @throws Exception
     */
    public Map salePage(Map data, String start, String limit, String uid) throws Exception;

    /**
     * 准备出库
     * @param data
     * @param uid
     * @param type
     * @return
     */
    public void prepareOut(Map data, String uid,String type) throws Exception;

    /**
     * 确认出库
     * @param data
     */
    public String confirmOut(Map data, String uid) throws Exception;

    /**
     * 车辆状态status
     * @param data
     * @param status
     */
    public void updateCarOutStatus(Map data , String status,String uid) throws Exception;

    public List updateSerialNum(String allocationId,String uid) throws Exception;

}
